//Operation for-helper:?
//Formula:
//(:expression:|:blank:)?;(:expression:|:blank:)?;(:expression:|:blank:)?

//	Operation for;

//Formula:
//for:blank:?\((:expression:|:blank:)?;(:expression:|:blank:)?;(:expression:|:blank:)?\)((:blank:?(:statement:|:block:;))|;)

//preLining:
void funOpNamePreL(SetIdentity* what){
	fPreL_seb(what);
}

//PostLining:
void funOpForPostL(ptrText code, ptrIdentity what){
	if (what->SubIdentities[0]->Range.begin)
	what->Extended=(void*)(new cText(code,what->Range));
}

//MkTree:
void funOpForMkTree(ptrIdentity identity, ptrParsedElement PE){
	PE->Extended=identity->Extended;
}

//Evaluate:
ptrDough funOpIfEva(ptrRETNode retnode, ptrParsedElement pe, void* extended){
	//expression->statement|block->statement|block
	if ((int)(pe->Extended) & 1){
		ptrDough initialize=pe->SubElements[0]->Operation->onEvaluation(retnode,pe->SubElements[0],NULL);
	if ((int)(pe->Extended)==4){
		while (!Boolean(pe->SubElements[1]->Operation->onEvaluation(retnode,pe->SubElements[1],NULL))){
			try{
				pe->SubElements[3]->Operation->onEvaluation(retnode,pe->SubElements[2],NULL);
				pe->SubElements[2]->Operation->onEvaluation(retnode,pe->SubElements[3],NULL);
			}
			catch(Continue){}
			catch(Break){return NULL};
		};
	};
	return NULL;
}